﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ThridGroup.ERP.DTO.WarehouseManagement;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace ThridGroup.ERP.WarehouseManagement
{
    /// <summary>
    /// 产品入库服务接口     ---tsh
    /// </summary>
    public interface IProductsInboundServices : IApplicationService
    {
        /// <summary>
        /// 获取产品入库列表（分页查询）
        /// </summary>
        /// <param name="input">查询参数</param>
        /// <returns>分页后的产品入库列表</returns>
        Task<PagedResultDto<ProductsInboundDto>> GetListAsync(QueryProductsInboundDto input);

        /// <summary>
        /// 根据ID获取单条产品入库信息
        /// </summary>
        /// <param name="id">产品入库ID</param>
        /// <returns>产品入库详情</returns>
        Task<ProductsInboundDto> GetByIdAsync(int id);

        /// <summary>
        /// 删除产品入库记录
        /// </summary>
        /// <param name="id">产品入库ID</param>
        /// <returns></returns>
        Task DeleteAsync(int id);

        /// <summary>
        /// 批量删除产品入库记录
        /// </summary>
        /// <param name="ids">产品入库ID列表</param>
        /// <returns></returns>
        Task BatchDeleteAsync(List<int> ids);
    }
}
